/**
 *  数据库操作：MySQL、Orarle
 * 库、表（行、列（字段））
 * 启动MySql服务：cmd命令窗口进入目录 => D:\project\mysql-5.7.16-winx64\bin 键入命令 net start mysql
 * #### #### #### #### #### #### #### #### #### #### #### #### ####
 * #### #### #### #### #### #### #### #### #### #### #### #### ####
 * SQL：结构化查询语句，所有数据库操作的基础。
 * 标准写法：关键字大写、库表字段需要加 `
 * 增：INSERT INTO 表 (字段列表) VALUES (值列表)
 * => INSERT INTO `user_table` (id, username, password) VALUES (0, 'wangwu', '000000');
 * 删：DELETE
 * => DELETE FROM 表 WHERE 条件
 * 改：UPDATA
 * => UPDATA 表 SET 字段=值, 字段=值, 字段=值 ... WHERE=条件
 * 查：SELECT 什么 FROM 表
 * => SELECT * FROM `user_table` WHERE=条件;
 * => COUNT(计数) => SELECT COUNT(*) FROM 表（结果：此表有n条数据）
 * #### #### #### #### #### #### #### #### #### #### #### #### ####
 * #### #### #### #### #### #### #### #### #### #### #### #### ####
 * 【子句】子句是有顺序的，写法顺序：1、WHERE；2、GROUP；3、ORDER；4、LIMIT； ← 重点
 * WHERE name='张三' || age > 18 || age <= 18 || WHERE age > 30 AND age < 60 || WHERE age = 21 OR age = 22
 * ORDER BY age ASC/DESC （按年龄排序 升序/降序）
 * =| 多条件排序：按价格price升序，当价格相同按销量sales降序 => ORDER BY price ASC, sales DESC
 * 【GROUP 聚类，合并相同】
 * ---- ---- ---- ----
 * =| 统计n_like字段的不同的值出现了几回。
 * =| SELECT 字段, 统计 FROM 表 GROUP BY 字段;
 * =| SELECT n_like, COUNT(*) FROM `article_table` GROUP BY `n_like`;
 * =| 结果：n_like=1, 2次；n_like=2, 1次；n_like=3, 0次；...
 * ---- ---- ---- ----
 * =| 统计每个班的平均分
 * =| SELECT 班级, 平均(分数) FROM 学生表 GROUP BY 班级字段
 * =| SELECT class, AVG(score) FROM student_table GROUP BY class
 * =| 结果：1班平均分35；2班平均分67；3班平均分99；...
 *  ---- ---- ---- ----
 * =| 统计每个班级最高分和最低分
 * =| SELECT 班级, 姓名, 最高(分数), 最低(分数) FROM 学生表 GROUP BY 班级字段
 * =| SELECT class, name, MAX(score), MIN(score) FROM student_table GROUP BY class
 * =| 结果：一班最高分100，最低分18；二班最高分60，最低分5；三班最高分90，最低分75；...
 * ---- ---- ---- ----
 * =| 统计每个人的消费总额并降序
 * =| SELECT 姓名, 总(价) FROM 消费表 GROUP BY 姓名 ORDER BY 总(价) 降序
 * =| SELECT name, SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) DESC
 * =| 结果：张三2万；李四1.8万；王五1.2万；...
 * 【LIMIT 限制，适应场景：分页】
 * ---- ---- ---- ----
 * =| SELECT * FROM 表 LIMIT 10 => 查询前10条数据
 * =| SELECT * FROM 表 LIMIT 5, 9 => 从第5条数据开始向后查询9条
 * ---- ---- ---- ----
 */
const express = require('express')
const mysql = require('mysql')

let server = express()
server.listen(8080)

// 1、链接，createConnection(服务器地址, 账号, 密码, 库)
const db = mysql.createConnection({
  host: 'localhost',  // 服务器地址
  // port: 3308, // 端口号，默认3306
  user: 'root',
  password: '123456789',
  database: '20180709'  // 库名
})

// 2、查询，query(干啥：增删改查, 回调函数)
db.query('SELECT * FROM `user_table`;', (err, data) => {
  if (err) {
    console.log('出错了' + err)
  } else {
    console.log(data)
  }
})
